package cn.mdmbct.douyin.basis.service.interfaces;


import cn.mdmbct.douyin.basis.response.video.VideoListRes;
import cn.mdmbct.douyin.common.bean.PageCount;
import cn.mdmbct.douyin.common.proxy.annotations.Mapping;
import cn.mdmbct.douyin.common.proxy.annotations.RequestParam;

/**
 * 搜索管理api实现接口
 *
 * @author mdmbct  mdmbct@outlook.com
 * @date 2021/4/18 11:26
 * @modified mdmbct
 * @since 1.0
 */
public interface SearchManagerService {

    /**
     * <a href="https://open.douyin.com/platform/doc/6848806544931358733">关键词视频搜索</a> <p>
     * Scope: `video.search `需要申请权限需要用户授权<p>
     * <p>
     * 该接口用于通过关键词搜索全站视频,类似抖音端上搜索。使用前请到 管理中心-应用详情-关键词视频管理-关键词管理 创建关键词。<p>
     * <p>
     * 该接口只返回最近1天的视频
     *
     * @param openId  open id
     * @param cursor  分页游标, 第一页请求cursor是0, response中会返回下一页请求用到的cursor, 同时response还会返回has_more来表明是否有更多的数据。
     * @param count   每页数量
     * @param keyword 关键词
     * @return 视频列表数据
     */
    @Mapping("/video/search")
    VideoListRes.VideoListResData videoSearch(@RequestParam("open_id") String openId,
                                              @RequestParam long cursor,
                                              @RequestParam(method = "getValue") PageCount count,
                                              @RequestParam String keyword);

}
